<?php
include_once '../conexion.php';
$_SESSION['seccion'] = 'amingreso';
//----------------------------------------------------

class ingreso {

    //ingcab_id, ingcab_provdn_id, ingcab_fecha, ingcab_numero, ingcab_tcomp_id, ingcab_punto_venta
    public $id;
    public $proveedor;
    public $fecha;
    public $numero;
    //public $tipoComprobante;
    public $puntoVenta;

    function __construct($id, $proveedor, $fecha , $numero, /*$tipoComprobante,*/ $puntoVenta) {
        $this->id = $id;
        $this->proveedor = $proveedor;
        $this->fecha = strToInsertInBD($fecha);
        $this->numero = strToInsertInBD($numero);
        //$this->tipoComprobante = $tipoComprobante;
        $this->puntoVenta = strToInsertInBD($puntoVenta);
    }

}

?>
<?php //Acciones
$accion = isset($_GET["act"]) ? $_GET["act"] : '';
$REQUEST_ID_ = pg_escape_string(trim(isset($_REQUEST['ref_id']) ? $_REQUEST['ref_id'] : '0'));
$errsdiv = '';

function valida() {
    global $REQUEST_ID_;
    $errorMsg = array();
    $regex_id = '/^[1-9]{1,8}$/';

    if (!validaFecha(trim($_REQUEST["fecha"]))) {
        array_push($errorMsg, 'La fecha no es correcta.');
    }
    if (strlen(trim($_POST["numero"])) > 60) {
        array_push($errorMsg, 'El comentario debe contener menos de 60 caracteres.');
    }
    /*if (!preg_match($regex_id, $_REQUEST["tipoComprobante"])) {
        array_push($errorMsg, 'Debe seleccionar un tipo de Comprobante.');
    }*/
    if (strlen(trim($_POST["puntoVenta"])) > 5) {
        array_push($errorMsg, 'El punto de venta debe contener menos de 5 digitos.');
    }
    if(existeRegistro(getConexion(), 'ingreso_cab', array('ingcab_id'=>$REQUEST_ID_, 
        'ingcab_punto_venta'=>'\''.trim($_POST["puntoVenta"]).'\'', 'ingcab_numero'=>'\''.trim($_POST["numero"]).'\'', 'ingcab_provd_id'=>$_POST["proveedor"]), 
            array('ingcab_id'=>'<>', 'ingcab_punto_venta'=>'=', 'ingcab_numero'=>'=', 'ingcab_provd_id'=>'='))){
        array_push($errorMsg, 'El comprobante ya existe.');
    }

    return $errorMsg;
}

function guardarReg() {
    global $errsdiv, $REQUEST_ID_;
    $msj = valida();
    divErr($msj);
    if (strlen(trim($errsdiv)) == 0) {
        $objArt = new ingreso($_POST["ref_id"], $_POST["proveedor"], $_POST["fecha"], $_POST["numero"], $_POST["puntoVenta"]);
        if ($objArt->id == 0) {
            insertarReg($objArt);
        } else {
            modificarReg($objArt);
        }
        if ($objArt->id == 0) {
            header("Location: amingreso.php?ref_id=".$REQUEST_ID_);
        }else{
            header("Location: ingresos.php");
        }
    }
}

function insertarReg($obj){
    global $REQUEST_ID_;
    $sql = "INSERT INTO ingreso_cab(ingcab_id, ingcab_provd_id, ingcab_fecha, ingcab_numero, /*ingcab_tcomp_id,*/ ingcab_punto_venta) ".
           "VALUES (lastid('ingreso_cab','ingcab_id'), {$obj->proveedor}, to_date('{$obj->fecha}','DD/MM/YYYY'), '{$obj->numero}', ".
                   "'{$obj->puntoVenta}') RETURNING ingcab_id;";
    $con = new Conexion;
    $result = $con->retornar($sql);
    $REQUEST_ID_ = ($reg = pg_fetch_object($result)) ? $reg->ingcab_id : 'null';
    $sql = "INSERT INTO seguridad.log_datos(logd_id, logd_usu_id, logd_tablename, logd_operacion, logd_tableid) ".
            "VALUES (lastid('seguridad.log_datos','logd_id'), ".$_SESSION['usu_id_16856'].", 'ingreso_cab', 'INSERT', {$REQUEST_ID_});";
    $con = new Conexion;
    $result = $con->retornar($sql);
}

if(isset($_POST["guardarIng"])){
    guardarReg();
}

function modificarReg($obj){
    $sql = "UPDATE ingreso_cab SET ".
            "ingcab_fecha=to_date('{$obj->fecha}','DD/MM/YYYY'), ingcab_provd_id={$obj->proveedor}, ingcab_numero='{$obj->numero}', ".
            "ingcab_punto_venta='{$obj->puntoVenta}' ".
            "WHERE ingcab_id={$obj->id};";
    $sql .= "INSERT INTO seguridad.log_datos(logd_id, logd_usu_id, logd_tablename, logd_operacion, logd_tableid) ".
            "VALUES (lastid('seguridad.log_datos','logd_id'), ".$_SESSION['usu_id_16856'].", 'ingreso_cab', 'UPDATE', {$obj->id});";
    $con = new Conexion;
    $result = $con->retornar($sql);
}
?>
<?php


function getSelectedReg() {
    global $REQUEST_ID_;
    $sqlstr = "SELECT ingcab_id, ingcab_provd_id, to_char(ingcab_fecha, 'DD/MM/YYYY') as ingcab_fecha, ingcab_numero, ingcab_punto_venta ".
            "FROM ingreso_cab " .
            "WHERE (ingcab_id = {$REQUEST_ID_}) ";
    $row = '';
    $conn = new Conexion();
    $consulta = $conn->retornar($sqlstr);
    return $consulta;
}

function divErr($mensajes) {
    global $errsdiv;
    if ((count($mensajes) > 0)) {
        if (trim($mensajes[0]) != '') {
            $errsdiv .= '<div class="err_inputs"><ul>';
            foreach ($mensajes as $keyid => $val) {
                $errsdiv .= '<li>' . $val . '</li>';
            }
            $errsdiv .= '</ul></div>';
        }
    }
}

function listarproveedors($selected) {
    $sqlstr = "SELECT provd_id, provd_nombre, provd_cuip FROM proveedor";
    $sqlstr .= " ORDER BY provd_nombre";
    $row = '';
    $conn = new Conexion();
    $consulta = $conn->retornar($sqlstr);
    $row = '<select name="proveedor" style="width: 220px">';
    $sel = $selected == 0 ? 'selected = "selected"' : '';
    $row .= ' <option value="0" ' . $sel . '><span style="color:#516770; font-style:oblique; font-weight:bold">--Ning&uacute;no--</span></option>';
    while ($reg = pg_fetch_object($consulta)) {
        $sel = $selected == $reg->provd_id ? 'selected = "selected"' : '';
        $row .= ' <option value="' . $reg->provd_id . '" ' . $sel . '>'. $reg->provd_nombre . '</option>';
    }
    $row .='</select>';
    echo $row;
}

/*function listarTipoComprob($selected){
    $sqlstr = "SELECT tcomp_id, tcomp_nombre, tcomp_abreviado FROM tipo_comprobante";
    $sqlstr .= " ORDER BY tcomp_abreviado";
    $row = '';
    $conn = new Conexion();
    $consulta = $conn->retornar($sqlstr);
    $row = '<select name="tipoComprobante" style="width: 220px">';
    $sel = $selected == 0 ? 'selected = "selected"' : '';
    $row .= ' <option value="0" ' . $sel . '><span style="color:#516770; font-style:oblique; font-weight:bold">--Ning&uacute;no--</span></option>';
    while ($reg = pg_fetch_object($consulta)) {
        $sel = $selected == $reg->tcomp_id ? 'selected = "selected"' : '';
        $row .= ' <option value="' . $reg->tcomp_id . '" ' . $sel . '>'. $reg->tcomp_abreviado . '</option>';
    }
    $row .='</select>';
    echo $row;
}*/

?>
<?php
$regfecha = isset($_POST["fecha"])?$_POST["fecha"]:'';
$regproveedor = isset($_POST["proveedor"])?$_POST["proveedor"]:'0';
$regnumero = isset($_POST["numero"])?$_POST["numero"]:'';
$regpuntoVenta = isset($_POST["puntoVenta"])?$_POST["puntoVenta"]:'';
//$regtipoComprobante = isset($_POST["tipoComprobante"])?$_POST["tipoComprobante"]:'0';
if($REQUEST_ID_ != '0'){
    $queryObj = getSelectedReg();
    if ($regObj = pg_fetch_object($queryObj)) {
        $regfecha = $regObj->ingcab_fecha;
        $regproveedor = $regObj->ingcab_provd_id;
        $regnumero = strToShowValue($regObj->ingcab_numero);
        $regpuntoVenta = strToShowValue($regObj->ingcab_punto_venta);
        //$regtipoComprobante = $regObj->ingcab_tcomp_id;
    }
    $queryObj = null;
}
?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Comprobante de Compra</title>
        <script type="text/javascript" src="../utilidades.js"></script>
        <script type="text/javascript" src="amingreso.js"></script>
        <link href="../css/doc.css" rel="stylesheet" type="text/css"/>
    </head>
    <body>
        <?php //control de acceso
        if(!isset ($_SESSION['usu_rusu_id'])){
            echo '<span style="color:red;">No tiene acceso a esta pantalla.</span>'.
                '</body>';
            die;            
        }
        ?>
        <table class="pageTitle" width="100%">
            <tbody>
                <tr>
                    <td class="title_nm">Comprobante de Compra</td><td class="watermark_right">&nbsp;</td>
                </tr>
            </tbody>
        </table>
        <hr/>
        <div id="div_data_error"><?php echo $errsdiv ?></div>
        <form name="form_ingcab" id="form_ingcab" method="post" action="amingreso.php" onsubmit="return guardarRegistro()">
            <input type="hidden" name="ref_id" value="<?php echo $REQUEST_ID_ ?>"/>
            <table>
                <tr>
                    <td>Proveedor:</td>
                    <td>
                        <?php
                        listarproveedors($regproveedor);
                        ?>
                    </td>
                </tr>
                <!--<tr>
                    <td>Tipo de Comprobante:</td>
                    <td>
                        <?php
                           //listarTipoComprob($regtipoComprobante);
                        ?>
                    </td>
                </tr>-->
                <tr>
                    <td>Comprobante:</td><td><input type="text" name="puntoVenta" value="<?php echo $regpuntoVenta?>" size="8" maxlength="4" onkeypress="return isNumeric(event);" onblur="completeWith(this, '0', 4, 'left')"/> - <input type="text" name="numero" value="<?php echo $regnumero?>" size="12" maxlength="8" onkeypress="return isNumeric(event);" onkeypress="return isNumeric(event);" onblur="completeWith(this, '0', 8, 'left')"/></td>
                </tr>
                <tr>
                    <td>Fecha:</td>
                    <td>
                        <?php
                        include_once 'complements/date_picker/date_picker.php';
                        getDatePicker('complements/date_picker/', 'fecha');
                        ?>
                        <script type="text/javascript">
                            document.getElementById('fecha').value='<?php echo $regfecha?>';                                                    
                        </script>
                    </td>
                </tr>
                <tr>
                    <td colspan="2" align="center"><input type="submit" name="guardarIng" value="Guardar"/>
                        <input type="button" name="cancelar" value="Cancelar" onclick="self.location='ingresos.php';"/></td>
                </tr>
            </table>
        </form>
        <?php
        if($REQUEST_ID_ != '0'){
        ?>
        <iframe src="ingresos_detalles.php?ref_parent_id=<?php echo $REQUEST_ID_ ?>" width="100%" height="400px" frameborder="0">
          <p>Your browser does not support iframes.</p>
        </iframe>
        <?php
        }
        ?>
    </body>
</html>
